CREATE TABLE `SRTrade`.`MsgSRHedgePolicyState` (
`hedgeTarget_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'HedgeTarget',
`hedgeTarget_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'HedgeTarget',
`hedgeTarget_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'HedgeTarget',
`accnt` VARCHAR(16) NOT NULL DEFAULT '',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '',
`hedgeSecKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`hedgeSecKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`hedgeSecKey_tk` VARCHAR(12) NOT NULL DEFAULT '',
`hedgeSecKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`hedgeSecKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`hedgeSecKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`hedgeSecType` ENUM('None','Stock','Future','Option','MLeg') NOT NULL DEFAULT 'None',
`securityDesc` TINYTEXT NOT NULL DEFAULT '',
`ssaleFlag` ENUM('None','Long','Short','Exempt','Auto','Open','Close','Cover','NA') NOT NULL DEFAULT 'None' COMMENT 'current (live) short sale flag (stock)',
`positionType` ENUM('None','Opening','Closing','Auto') NOT NULL DEFAULT 'None' COMMENT 'current (live) position type (future)',
`hedgeState` ENUM('None','NoHedgeCtrl','MLegHold','InBand','BandSh','BandLn','Exception','DDMultErr','UndTypeErr','UndPerCnErr','Init','UPrcErr','AccumulatorError') NOT NULL DEFAULT 'None',
`hedgeText` TINYTEXT NOT NULL DEFAULT '',
`uPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'hedge target underlier price',
`isDeltaMixed` ENUM('None','Yes','No') NOT NULL DEFAULT 'None',
`accumulatorError` TINYTEXT NOT NULL DEFAULT '',
`grpDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'option delta bot (in ctrlDe units)',
`grpDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`grpDDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'option $delta bot (using uMid at time of option fill)',
`grpDDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`lastGrpFillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`ctrlDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'hedge target delta (units) bot',
`ctrlDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`ctrlDDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'hedge target $delta bot (using actual fill price)',
`ctrlDDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`lastCtrlFillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`absOptCn` INT NOT NULL DEFAULT 0 COMMENT 'total number of option contracts executed in this hedge group',
`netDelta` DOUBLE NOT NULL DEFAULT 0 COMMENT 'grpDeltaBot - grpDeltaSld + ctrlDeltaBot - ctrlDeltaSld',
`netDDelta` DOUBLE NOT NULL DEFAULT 0 COMMENT 'grpDDeltaBot - grpDDeltaSld + ctrlDDeltaBot - ctrlDDeltaSld',
`openHedgeTime` FLOAT NOT NULL DEFAULT 0 COMMENT 'size weighted average time (in seconds) hedge risk has been open (executions to fills)',
`hedgeTargetVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'implied / expected today (annualized) volatility for hedge target',
`expectedPrcRange` FLOAT NOT NULL DEFAULT 0 COMMENT 'SQRT(avgHedgeTime x hedgeTargetVol) cone',
`opnDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'open risk delta bot (in ctrlDe units)',
`opnDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`opnDDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'open risk $delta bot (in ctrlDe units)',
`opnDDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`clsDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'close risk delta bot (in ctrlDe units)',
`clsDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`clsDDeltaBot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'close risk $delta bot (in ctrlDe units)',
`clsDDeltaSld` DOUBLE NOT NULL DEFAULT 0,
`slippagePnL` FLOAT NOT NULL DEFAULT 0 COMMENT 'opnDeltaBot * (clsDeltaPrcSld - opnDeltaPrcBot) + opnDeltaSld * (opnDeltaPrcSld - clsDeltaPrcBot)',
`slippageUnitPnL` FLOAT NOT NULL DEFAULT 0 COMMENT 'slippagePnL / (grpDeltaBot + grpDeltaSld) [pnl / unit (share or fc)]',
`slippageNormPnL` FLOAT NOT NULL DEFAULT 0 COMMENT 'slippageUnitPnL / expectedPrcRange',
`minDDeltaBand` FLOAT NOT NULL DEFAULT 0,
`maxDDeltaBand` FLOAT NOT NULL DEFAULT 0,
`bParentNumber` BIGINT NOT NULL DEFAULT 0,
`bActiveSize` INT NOT NULL DEFAULT 0,
`bBrkrStatus` TINYTEXT NOT NULL DEFAULT '',
`bBrkrError` TINYTEXT NOT NULL DEFAULT '',
`sParentNumber` BIGINT NOT NULL DEFAULT 0,
`sActiveSize` INT NOT NULL DEFAULT 0,
`sBrkrStatus` TINYTEXT NOT NULL DEFAULT '',
`sBrkrError` TINYTEXT NOT NULL DEFAULT '',
`ddMult` DOUBLE NOT NULL DEFAULT 0,
`underliersPerCn` INT NOT NULL DEFAULT 0 COMMENT 'future underliers per contract',
`underlierType` ENUM('None','Equity','Other','FX') NOT NULL DEFAULT 'None' COMMENT 'type of underlier (affects $greek calculations)',
`pointValue` DOUBLE NOT NULL DEFAULT 0 COMMENT '$NLV value of a single point change in display premium (hedge target)',
`pointCurrency` ENUM('None','AUD','BRL','CAD','CHF','CNH','CNY','EUR','GBP','JPY','KRW','MXN','MYR','NOK','NZD','SEK','TRY','USD','USDCents','CZK','ZAR','HUF','USX','GBX','DKK','GEL') NOT NULL DEFAULT 'None',
`liveHedgeMark` DOUBLE NOT NULL DEFAULT 0 COMMENT 'hedgeSecKey live mark (mid-market) [zero in SRSE]',
`updtReason` VARCHAR(20) NOT NULL DEFAULT '',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'SR system timestamp',
PRIMARY KEY USING HASH (`hedgeTarget_tk`,`hedgeTarget_at`,`hedgeTarget_ts`,`accnt`,`clientFirm`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='';